/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 23735
 * Date: 2023-05-03
 * Time: 8:54
 */
public class Solution {
    public int MoreThanHalfNum_Solution(int [] array) {
        int value = array[0]; // 记录当前的值
        int count = 1; // 记录当前值对应的个数
        for (int i = 1; i < array.length; i++) {
            // count == 0 说明这个值已经抵消完了
            if (count == 0) {
                value = array[i];
                count = 1;
                continue;
            }
            // 值与当前值相同, 个数 ++
            if (array[i] == value) {
                count++;
            } else {
                // 值与当前值不同, 就抵消一个
                count--;
            }
        }
        // 最后剩下的那个值就是 个数最多的那个
        return value;
    }
}
